package com.adee.gulimall.search.vo;

import com.adee.gulimall.common.to.es.SkuESModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
public class SearchResult {
    // 查询到的所有商品信息
    private List<SkuESModel> products;
    /**
     * 以下是分页信息
     */
    private Integer pageNum; // 当前页
    private Integer total; // 总记录数
    private Integer totalPages; // 总页数
    private List<BrandVo> brands; // 当前查到的结果所涉及到的所有品牌
    private List<CatalogVo> catalogs; // 当前查询到的结果所涉及到的所有分类
    private List<AttrVo> attrs;  // 当前查询到的结果所涉及到的所有属性

    //===================以上是返回给页面的所有信息===================

    // 品牌
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class BrandVo {
        private Long brandId;
        private String brandName;
        private String brandImg;
    }

    // 分类
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class CatalogVo {
        private Long catalogId;
        private String catalogName;
    }

    // 属性
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class AttrVo {
        private Long attrId;
        private String attrName;
        private List<String> attrValue;
    }
}
